﻿Public Class AgregarInventario 
    'Public equivalencia As Integer = 0
    Dim vali As Integer = 0
    Private Sub ProductosItem_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'DbFireAndIceDataSet.proveedores' table. You can move, or remove it, as needed.
        Me.ProveedoresTableAdapter.Fill(Me.DbFireAndIceDataSet.proveedores)
        'TODO: This line of code loads data into the 'DbFireAndIceDataSet.bodega' table. You can move, or remove it, as needed.
        Me.BodegaTableAdapter.Fill(Me.DbFireAndIceDataSet.bodega)
        TextEdit2.EditValue = 0.0
        'TextEdit1.EditValue = 0.0
        lkalmacen.EditValue = Nothing
        lkproveedor.EditValue = Nothing


        Try
            'TODO: This line of code loads data into the 'DbFireAndIceDataSet.unidadesdemedida' table. You can move, or remove it, as needed.
            Me.UnidadesdemedidaTableAdapter.Fill(Me.DbFireAndIceDataSet.unidadesdemedida)
        Catch ex As Exception
            AlertControl1.AppearanceCaption.ForeColor = Color.Red
            AlertControl1.Show(Owner, "ERROR", "No se pudieron cargar los datos")
        End Try
        'ErrorProvider1.SetError(IdunidadLookUpEdit, Nothing)
        ErrorProvider1.SetError(TextEdit2, Nothing)
        ErrorProvider1.SetError(preciocompra, Nothing)
        GroupControl1.Text = My.Forms.Productos.DescripcionTextEdit.Text

        'Dim id As Integer = My.Forms.Productos.IdunidadescategoriaLookUpEdit.EditValue
        'Try
        '    UnidadesdemedidaTableAdapter.FillByUnidades(DbFireAndIceDataSet.unidadesdemedida, id)

        'Catch ex As Exception
        '    AlertControl1.AppearanceCaption.ForeColor = Color.Red
        '    AlertControl1.Show(Owner, "ERROR", "No se pudieron cargar los datos")
        'End Try
        preciocompra.EditValue = 0.0

        Dim existencia As Integer
        If My.Forms.Productos.ExistenciaTextEdit.EditValue Is DBNull.Value Then
            existencia = 0
        Else
            existencia = My.Forms.Productos.ExistenciaTextEdit.EditValue
        End If

        preciocompra2.EditValue = 0.0


        ExistenciaTextEdit.EditValue = existencia

        ' TextEdit1.EditValue = 0
        TextEdit2.EditValue = 0
        
    End Sub
    Private Sub TextEdit2_EditValueChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextEdit2.EditValueChanged
        '  TextEdit1.EditValue = TextEdit2.EditValue * equivalencia
    End Sub
    Private Sub SimpleButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click
        Dim exisact As Decimal = 0


        ' If IdunidadLookUpEdit.Text = "" Then
        'ErrorProvider1.SetError(IdunidadLookUpEdit, "Debe seleccionar la unidad de medida a ingresar")
        'Return
        'Else
        'ErrorProvider1.SetError(IdunidadLookUpEdit, Nothing)

        '        End If

        If TextEdit2.EditValue = 0 Then
            ErrorProvider1.SetError(TextEdit2, "Debe ingresar una cantidad de existencia")
            Return
        Else

            ErrorProvider1.SetError(TextEdit2, Nothing)
        End If

        If preciocompra.EditValue = 0 Then
            ErrorProvider1.SetError(preciocompra, "Debe ingresar Precio Compra para nuevo Lote")
            Return
        Else
            ErrorProvider1.SetError(preciocompra, Nothing)
        End If

        If lkalmacen.Text = "" Then
            ErrorProvider1.SetError(lkalmacen, "Debe seleccionar un Almacen")
            Return
        Else
            ErrorProvider1.SetError(lkalmacen, Nothing)
        End If


        If lkproveedor.Text = "" Then
            ErrorProvider1.SetError(lkproveedor, "Debe seleccionar un Proveedor")
            Return
        Else
            ErrorProvider1.SetError(lkproveedor, Nothing)
        End If


        If TextEdit2.EditValue > 0 Then

            'If IdunidadLookUpEdit.Text = "" Then
            'ErrorProvider1.SetError(IdunidadLookUpEdit, "Debe seleccionar la unidad de medida a ingresar")
            'Else
            '   ErrorProvider1.SetError(IdunidadLookUpEdit, Nothing)
            If TextEdit2.EditValue = 0 Then
                ErrorProvider1.SetError(TextEdit2, "Debe ingresar una cantidad de existencia")
            Else

                ErrorProvider1.SetError(TextEdit2, Nothing)
                If preciocompra.EditValue = 0 Then
                    ErrorProvider1.SetError(preciocompra, "Debe ingresar Precio Compra para nuevo Lote")
                Else
                    ErrorProvider1.SetError(preciocompra, Nothing)
                   
                    Dim opcion As Integer
                    opcion = MsgBox(String.Format("¿Desea ingresar {0} {1} de {2} al inventario? Advertencia: Verifique la cantidad y la unidad de medida en la que esta ingresando al producto.", TextEdit2.EditValue, My.Forms.Productos.IdunidadescategoriaLookUpEdit.GetColumnValue("description"), My.Forms.Productos.DescripcionTextEdit.Text), MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Agregar a Inventarios")
                    If opcion = vbYes Then
                        Try

                            My.Forms.Productos.PreciocomprauniTextEdit.EditValue = preciocompra2.EditValue
                            exisact = ExistenciaTextEdit.EditValue + TextEdit2.EditValue
                            My.Forms.Productos.ExistenciaTextEdit.EditValue = exisact

                            'ExistenciaTextEdit.EditValue = exisact
                            'My.Forms.Productos.variable = 0
                            'MsgBox(My.Forms.Productos.otro)


                            Try
                                My.Forms.Productos.ProductosBindingNavigatorSaveItem.PerformClick()
                                Try
                                    LotesTableAdapter1.InsertQueryLote(LotesTableAdapter1.ScalarQueryCorrelativo, My.Forms.Productos.IdproductoTextEdit.Text, Date.Now, TimeOfDay.TimeOfDay.ToString, My.Forms.MDI.Iduser.Caption, TextEdit2.Text, preciocompra2.Text, lkproveedor.EditValue, "Ninguna", lkalmacen.EditValue)
                                Catch ex As Exception
                                    TlogTableAdapter1.InsertQueryLogs(TlogTableAdapter1.ScalarQueryCountLogs + 1, My.Forms.MDI.Iduser.Caption, My.Resources.StringGlobal.prgVinicio, "Pantalla para agregar producto al inventario", ex.Message, My.Resources.StringGlobal.mdlInventario, Date.Today, TimeOfDay.TimeOfDay.ToString, My.Computer.Name, Name.ToString, sender.GetType.FullName.ToString)
                                End Try
                                AlertControl1.AppearanceCaption.ForeColor = Color.Green
                                AlertControl1.Show(Owner, "Actualizacion Inventario", "Se realizo actualizacion de inventario ")
                                Me.Close()
                            Catch ex As Exception
                                AlertControl1.Show(Owner, "ERROR", "No se pudo almacenar Producto Venta")
                            End Try
                            My.Forms.Productos.Mostrar()





                            'My.Forms.Productos.Mostrar()
                            'TODO: This line of code loads data into the 'DbFireAndIceDataSet.unidadesdemedida' table. You can move, or remove it, as needed.
                            'Me.UnidadesdemedidaTableAdapter.Fill(Me.DbFireAndIceDataSet.unidadesdemedida)
                        Catch ex As Exception
                            AlertControl1.AppearanceCaption.ForeColor = Color.Red
                            AlertControl1.Show(Owner, "ERROR", "No se realizo el ingreso del inventario")
                        End Try
                    End If
                End If
                '  End If

            End If

        Else
            'TextEdit1.EditValue = 0
        TextEdit2.EditValue = 0
        ErrorProvider1.SetError(TextEdit2, "No se puede ingresar numeros menores a 0")
        End If

    End Sub
    Private Sub IdunidadLookUpEdit_EditValueChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdunidadLookUpEdit.EditValueChanged
        If IdunidadLookUpEdit.GetColumnValue("equivalenciauref") Is DBNull.Value Then
            'equivalencia = 1
            'TextEdit1.EditValue = TextEdit2.EditValue * 1

        Else
            ' equivalencia = IdunidadLookUpEdit.GetColumnValue("equivalenciauref")
            'TextEdit1.EditValue = TextEdit2.EditValue * equivalencia
        End If

        '  TextEdit1.EditValue = TextEdit2.EditValue * equivalencia
        'TextEdit3.EditValue = preciocompra.EditValue / equivalencia
        My.Forms.Productos.ExistenciaTextEdit.Visible = True
        My.Forms.Productos.PreciocomprauniTextEdit.Visible = True
        My.Forms.Productos.ExistenciaTextEdit2.Visible = False
        My.Forms.Productos.PreciocomprauniTextEdit2.Visible = False
    End Sub
   

    Private Sub preciocompra_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles preciocompra.EditValueChanged
        'TextEdit3.EditValue = preciocompra.EditValue / equivalencia
    End Sub

    Private Sub preciocompra2_EditValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles preciocompra2.EditValueChanged
        preciocompra.EditValue = preciocompra2.EditValue
    End Sub

    Private Sub AgregarInventario_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
        TextEdit4.EditValue = 1
    End Sub


End Class